﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using AgendaManager.AgendaService;

namespace AgendaManager
{
    public partial class frmSeleccionEmpresa : Form
    {
        //ToDo: Borrar
        //AgendaService.Service1 ws = new AgendaService.Service1();

        public Empresa Empresa { get; set; }
        private List<Empresa> Empresas { get; set; }

        public frmSeleccionEmpresa()
        {
            InitializeComponent();
        }

        private void frmSeleccionEmpresa_Load(object sender, EventArgs e)
        {
            Empresa = new Empresa();
            List<Empresa> empresas = new List<Empresa>();

            Empresas = ConnectHelper.ws.RetrieveEntities(Empresa, "").Cast<Empresa>().ToList();

            gvEmpresas.DataSource = null;
            gvEmpresas.DataSource = Empresas;
            gvEmpresas.Columns["Id"].Visible = false;
        }

        private void btnSeleccionar_Click(object sender, EventArgs e)
        {
            if (gvEmpresas.SelectedRows.Count == 1)
            {
                Empresa = (Empresa)gvEmpresas.SelectedRows[0].DataBoundItem;

                this.DialogResult = System.Windows.Forms.DialogResult.OK;
                this.Close();
            }
        }

        private void btnCancelar_Click(object sender, EventArgs e)
        {
            this.DialogResult = System.Windows.Forms.DialogResult.Cancel;
            this.Close();
        }

        private void txFiltro_TextChanged(object sender, EventArgs e)
        {
            string filter = txFiltro.Text.ToLower();
            List<Empresa> aux = new List<Empresa>();
            
            aux = Empresas;

            aux = aux.Where(x => x.RazonSocial.ToLower().Contains(filter)).ToList();

            gvEmpresas.DataSource = aux;
        }

        private void btnNuevaEmpresa_Click(object sender, EventArgs e)
        {
            using (frmNuevaEmpresa f = new frmNuevaEmpresa())
            {
                if (f.ShowDialog() == System.Windows.Forms.DialogResult.OK)
                {
                    List<Empresa> empresas = new List<Empresa>();

                    empresas = ConnectHelper.ws.RetrieveEntities(Empresa, "").Cast<Empresa>().ToList();

                    gvEmpresas.DataSource = null;
                    gvEmpresas.DataSource = empresas;
                }
            }
        }
    }
}
